package com.mall.module.system.domain.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

@ApiModel("登录返回数据VO")
@Data
@Builder
public class LoginVo implements Serializable {
    
    @ApiModelProperty(value = "访问令牌", example = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...")
    private String token;
    
    @ApiModelProperty(value = "用户ID", example = "1")
    private Long id;
    
    @ApiModelProperty(value = "用户名", example = "admin")
    private String username;
    
    @ApiModelProperty(value = "头像URL", example = "https://example.com/avatar.png")
    private String icon;
    
    @ApiModelProperty(value = "邮箱", example = "admin@example.com")
    private String email;
    
    @ApiModelProperty(value = "手机号", example = "13800138000")
    private String mobile;
    
    @ApiModelProperty(value = "用户昵称", example = "系统管理员")
    private String nickName;
    
    @ApiModelProperty(value = "最后登录时间", example = "2024-03-15T10:30:00")
    private LocalDateTime loginTime;
    
    @ApiModelProperty(value = "账号状态", example = "1", notes = "0:禁用, 1:启用")
    private Integer status;
}
